from multiprocessing import Pipe
import multiprocessing as mu
def func_01(fd1):
    print("start processing1")
    fd1.send("hello jack")
    data=fd1.recv()
    print(data)

def func_02(fd2):
    print("start processing2")
    data=fd2.recv()
    print(data)
    fd2.send("hello Mike")
# 在windows中 需要将通信对象传入main中才能实现多个进程的通信
def main():
    fd1, fd2 = Pipe()   # 1.双向管道fd1 可以send 也可以recv 2.如果Pipe()的参数填入False,则fd1只有一个recv(读) fd2只有一个send(写)
    p1=mu.Process(target=func_01,args=(fd1,))
    p2=mu.Process(target=func_02,args=(fd2,))
    p1.start()
    p2.start()
    p1.join()
    p2.join()

if __name__ == '__main__':
    main()